Methods characterizing the evolutionary dynamics of protein-coding sequences are among the most widely-used tools in comparative sequence analysis, with applications ranging from identifying key functional protein residues to predicting the evolutionary trajectories and virulence of disease. Traditional models of protein-coding sequence evolution focus on identifying protein evolutionary rates, or how quickly different positions in a protein evolve. However, while widely implemented, such models overlook a key aspect of protein evolutionary dynamics: natural selection favors distinct, site-specific distributions of amino acids across positions in proteins. Traditional models ignore this overarching constraint and assess only whether protein amino acids change. To address this limitation, a class of models known as mutation-selection models, which explicitly account for the effects of amino acid preferences, have emerged. Although mutation-selection models were first proposed over 15 years ago, their high computational expense has limited their use. However, within the past year, increases in computational power have made these models tractable for the first time. As this computational power increases further, it is clear that mutation-selection models will progress and take a central role in sequence analysis studies. The scientific community will therefore need a set of tools which can assess the validity of and test hypotheses regarding these models. To this end, I will develop software to simulate protein-coding sequences along phylogenies according to mutation-selection models. Simulation of genetic data is a widely-used approach to verify and compare analytical tools, but there is no available sequence-simulation software which considers mutation-selection models. I will develop a highly flexible, user-friendly tool for this purpose and disseminate it to the scientific community. My software will incorporate realistic protein dynamics, including heterogeneity, domains, and insertion and deletion events, into simulations. Subsequently, I will use this tool to conduct a comprehensive comparison between the two available mutation-selection model inference methods. These recently introduced methods produce distinct, incompatible results, and as a consequence it remains unclear which method is preferred for sequence analysis. I will systematically examine the limitations and capabilities of each model to reveal under which conditions each model is preferred. This study will provide valuable guidance to researchers in selecting robust methodologies.